Device and method for controlling motion of legged mobile robot, and motion unit generating method for legged mobile robot

ABSTRACT

A predetermined action sequence is generated by using basic motion units which include time-sequential motion of each joint and compound motion units in which basic motion units are combined.  
     Motion patterns of a robot including walking are classified into motion units, each motion unit serving as a unit of motion, and one or more motion units are combined to generate various complex motions. Dynamic motion units are defined on the basis of basic dynamic attitudes, and a desired action sequence can be generated by using the dynamic motion units. This is a basic control method necessary for a robot to autonomously perform a continuous motion, a series of continuous motions, or motions which are changed in real-time by commands.

TECHNICAL FIELD

[0001] The present invention relates to motion-control apparatuses andmotion-control methods for legged mobile robots modeled after leggedmobile animals, such as human beings and apes, for their bodymechanisms, and more specifically relates to a motion-control apparatusand a motion-control method for a legged mobile robot which has anarticulated structure and which performs predetermined action sequencesby time-sequentially moving each joint.

[0002] In more detail, the present invention relates to a motion-controlapparatus and a motion-control method for a legged mobile robot whichperforms predetermined action sequences by using basic motion unitswhich include time-sequential motion of each joint and compound motionunits in which a plurality of basic motions are combined, andspecifically relates to a motion-control apparatus and a motion-controlmethod for a legged mobile robot which performs predetermined actionsequences by connecting motion units without degrading the stability ofthe robot body even during fast motion.

BACKGROUND ART

[0003] Mechanical apparatuses which move similarly to human beings bymaking use of electric or magnetic actions are called “robots”. The term“robot” is said to be derived from a Slavic word “ROBOTA (slavemachine)”. In our country, robots came into widespread use at the end of1960s, and many of them were industrial robots such as manipulators andtransfer robots used in factories for the automatic, unmanned productionoperations.

[0004] In recent years, progress has been made in the research anddevelopment of legged mobile robots modeled after animals which walkupright on two feet, such as human beings and apes, for their bodymechanisms and motions, and they are generally expected to be used forpractical purposes. Although attitude control and walking control forlegged mobile robots which walk upright on two feet are difficult toachieve compared to crawler-type, four-legged, or six-legged robots,they have advantages in that they are able to perform various kinds ofmoving operations such as walking on rough surface, including unevenground and ground with obstacles, and moving on discontinuous surfaces,for example, climbing up and down stairs and ladders.

[0005] Legged mobile robots modeled after human beings for their bodymechanisms and motions are called “human-shaped” or “humanoid” robots.Humanoid robots are used to assist people, that is, to help humanactivities in living environments and in other various areas of dailylife.

[0006] The significance of the research and development of human-shaped,or humanoid, robots can be considered from, for example, the followingtwo points of view.

[0007] One point is related to human science. Through the processes ofmanufacturing robots having structures similar to lower and/or upperlimbs of human beings, inventing controlling methods for the robots, andsimulating walking motions of human beings, mechanisms of the naturalmotions of human beings including walking can be elucidated from anengineering point of view. The results of such research will greatlycontribute to the development of various other fields of researchrelating to human motion mechanisms such as ergonomics, rehabilitationengineering, and sports science.

[0008] The other point is related to the development of robots whichserve as partners for people and assist them in their lives, that is,robots which help human activities in living environments and in othervarious areas of daily life. This type of robots must learn how to adaptitself to people having different personalities and to variousenvironments while learning motions and manners from people in variousaspects of life, and to keep increasing the functionality thereof.Therefore, it is believed that forming robots in a human shape, that is,making the shape or structure of the robots the same as that of humanbeings, is effective for smooth communication between people and robots.

[0009] For example, in the case in which a user (worker) tries to teacha robot a way to pass through a room while avoiding obstacles whichshould not be stepped on, it is much easier for the user to teach abiped walking robot having the same form as the user than to teach acrawler-type, four-legged, or six-legged robot. In addition, it mustalso be easier for the robot to learn from the user if the robot has thesame form as the user (refer to, for example, “Control of Biped WalkingRobot” written by Takanishi in <Koso> No. 25, April 1996, published byKanto Branch, Society of Automotive Engineers of Japan, Inc.).

[0010] Most workspaces and living spaces of human beings, which walkupright on two feet, are designed in accordance with their bodymechanisms and the behavioral patterns. Accordingly, there are manybarriers for present mechanical systems using wheels or other drivingdevices as moving units to move in living spaces of human beings. Inorder for mechanical systems, that is, robots, to carry out varioushuman tasks in place of people and to come into widespread use inpeople's living spaces, moving areas of the robots are preferably madeto be the same as those of people. This is the reason why there aregreat expectations of putting legged mobile robots to practical use.Accordingly, in order to enhance the adaptability of robots to people'sliving environments, it is necessary to construct robots such that theywalk upright on two feet similarly to human beings.

[0011] Humanoid robots may be used, for example, to carry out variousdifficult operations in industrial activities and production activitiesin place of people. For example, robots having a structure and functionssimilar to those of human beings may perform dangerous and difficultoperations such as maintenance operations in nuclear power plants,thermal power plants, petrochemical plants, etc., transfer/assemblyoperations in factories, cleaning operations in high-rise buildings, andrescue operations at fire scenes, in place of people.

[0012] In addition, humanoid robots may also be used to “live together”with people in situations more closely related to people's daily liferather than to perform difficult operations in place of people. The goalfor robots of this type is to faithfully reproduce the mechanism ofwhole-body coordinated motions which animals which walk upright on twofeet, such as human beings and apes, naturally have, and to move asnaturally and smoothly as human beings and apes. In modeling robotsafter highly intelligent animals such as human beings and apes, fourlimbs are preferably attached so that motions thereof will look natural.In addition, robots of this type are expected to perform motions havingsufficient expressive power. Furthermore, they are required not only tofaithfully follow commands input by a user but also to act in a livelymanner in response to words and actions of people (such as praising,scolding, hitting, etc.). In this sense, entertainment-type humanoidrobots modeled after human beings are rightly called “humanoid” robots.

[0013] Legged mobile robots including humanoid robots have a greaterdegree of freedom and accordingly have a larger number of jointactuators compared to other types of robots. More specifically, leggedmobile robots have a large number of controlled objects in the system,so that the amount of calculation for attitude control and stablewalking control increases exponentially. In addition, in biped walkingrobots, the center of gravity of their bodies is placed at a relativelyhigh position and moves greatly during legged locomotion. Accordingly,bodies of biped walking robots of are naturally unstable (an existingarea of the ZMP in biped walking robots is significantly small comparedwith that in four-legged walking robots), so that the amount ofcalculation for attitude control and stable walking control is extremelylarge.

[0014] In addition, it is almost impossible to perform stable,high-speed, real-time leg motion control independently inside a robotbody. Accordingly, in general, legged robots perform walking motionswhich are determined in advance (for example, Japanese Unexamined PatentApplication Publication No. 62-97006 discloses a control device for anarticulated walking robot in which control programs are made simpler byusing walking-pattern data items stored in advance and thewalking-pattern data items can be reliably connected to each other).

[0015] A sequence of motions having a certain meaning performed by arobot is called a “behavior” or an action sequence. Action sequences areconstructed by combining a plurality of motion pattern data items (alsocalled “actions”), which indicate the time-sequential motion of eachjoint actuator installed in the robot body. More specifically, motionpattern data items, which indicate the time-sequential motion of eachjoint, are stored in a predetermined memory device, and when apredetermined action sequence is performed, motion pattern data itemscorresponding to that action are read out from the memory device and areplayed back on the robot body.

[0016] In order to generate various kinds of action sequences, basic orfrequently-used motion pattern data items may be managed in a databaseand repeatedly used as data components. In the present specification,such motion pattern data items used as data components are referred toas “motion units”.

[0017] Basic motion units include, for example, a forward-motion startunit, a constant forward walking unit, a forward-motion stop unit, arearward-motion start unit, a constant rearward walking unit, arearward-motion stop unit, a leftward (or rightward) motion start unit,a constant leftward (or rightward) walking unit, a leftward (orrightward) motion stop unit, etc.

[0018] By combining several basic motion units, more complex motionpatterns can be generated. For example, by combining the forward-motionstart unit, the constant forward walking unit for N times of forwardwalking motions, and the forward-motion stop unit, it is possible tomake a robot in a stationary state walk forward.

[0019] When various basic motion units are stored in a robot in advance,it is relatively easy to make the robot perform complex motions. In theabove-described entertainment-type robots, it is strongly demanded thatthe motions thereof have sufficient expressive power. By changingcombinations of basic motion units, various kinds of action sequencescan be generated without increasing the number of motion units to bestored.

[0020] The basic motion patterns of a robot called motion units aregenerally described as data items which are arranged time sequentially,each data item indicating positions of each joint in a stationary state.In this case, whether or not two motion units can be connected isdetermined by taking into account only the continuity of the staticpositions of each joint (that is, static posture of the robot).

[0021] When a robot performs only static or relatively gentle motions,it may be able to perform stable motion by merely connecting motionunits indicating only the rotation angles of each joint. However, whenthe robot performs fast motions wherein acceleration components cannotbe ignored, the acceleration components serve as disturbances and affectthe robot body so that there is a risk in that the stable motion will bedegraded when motion units are connected. In addition, there is also arisk in that connecting points between motion units will be greatlylimited due to the effects of the acceleration components. Motions inwhich the acceleration components cannot be ignored include a motioncausing a state in which the ground reaction force is not applied to therobot body such as running motion or transitional motion before startingto run, a motion causing a state in which accelerated motion overpowersthe acceleration of gravity and neither one of two feet is in contactwith the ground, etc.

DISCLOSURE OF INVENTION

[0022] An object of the present invention is to provide an excellentmotion-control apparatus and an excellent motion-control method for alegged mobile robot which has an articulated structure and whichperforms predetermined action sequences by time-sequentially moving eachjoint.

[0023] Another object of the present invention is to provide anexcellent motion-control apparatus and an excellent motion-controlmethod for a legged mobile robot which performs predetermined actionsequences by using basic motion units which include time-sequentialmotion of each joint and compound motion units in which basic motionsare combined.

[0024] Another object of the present invention is to provide anexcellent motion-control apparatus and an excellent motion-controlmethod for a legged mobile robot which performs predetermined actionsequences by connecting motion units without degrading the stability ofthe robot body even during fast motion in which acceleration componentscannot be ignored.

[0025] In order to solve the above-described objects, according to afirst aspect of the present invention, a motion-control apparatus or amotion-control method for a legged mobile robot having an articulatedstructure with at least a plurality of movable legs includes anaction-sequence generating unit or step for generating an actionsequence by using motion units which store time-sequential motion ofeach joint; and a motion control unit or step for controlling the motionof each joint in accordance with the action sequence generated. Eachmotion unit is constructed of basic dynamic attitudes and one or moremoving attitudes, the basic dynamic attitudes including at leastaccelerations or angular accelerations of each joint at the end pointsof the motion unit, the end points corresponding to the start and theend of the motion, and the moving attitudes connecting the basic dynamicattitudes placed at the end points. The moving attitude may includeposition data or angle data and speed data or angular speed data of eachjoint in addition to accelerations or angular accelerations of eachjoint.

[0026] Since each motion unit includes acceleration components at theend points thereof, whether or not two motion units can be connected isdetermined by taking into account the continuity of the accelerations orangular accelerations of each joint in addition to the continuities ofthe positions or angles and the speeds or angular speeds of each joint.Accordingly, even when motion units for fast motion such as running andjumping, in which acceleration components cannot be ignored, areconnected, the continuity of the accelerations can be ensured, so thatthe acceleration components do not serve as disturbances. In addition,connecting points between the motion units are not limited.

[0027] According to the first aspect of the present invention, inconnecting two motion units, the action-sequence generating unit or stepmay take into account at least the continuities of the positions orangles, speeds or angular speeds, and accelerations or the angularaccelerations of each joint between the basic dynamic attitudes at theend points of the motion units which are to be connected. In addition,if the basic dynamic attitudes are not continuous, another basic dynamicattitude, which ensures the continuity, may be inserted between themotion units.

[0028] Alternatively, one or more moving attitudes, which ensure thecontinuity, may be inserted between the motion units.

[0029] Alternatively, another motion unit, which ensures the continuity,may be inserted between the motion units.

[0030] The motion-control apparatus or the motion-control methodaccording to the first aspect of the present invention may furtherinclude a attitude data converting unit or step for converting the basicdynamic attitude into one or more static attitude data items, and, inthe motion controlling unit or step, the motion of each joint may becontrolled in accordance with the static attitude data items.Accordingly, the concept of the present invention may also be applied torobots which do not accept basic dynamic attitudes including thepositions or angles, the speeds or angular speeds, and the accelerationsor angular accelerations of each joint, that is, robots which are drivenon the basis of position data only.

[0031] In addition, according to a second aspect of the presentinvention, a method for generating a motion unit which storestime-sequential motion of each joint in a legged mobile robot having anarticulated structure with at least a plurality of movable legs includesthe steps of setting provisional basic dynamic attitudes and aprovisional stabilization condition, the provisional basic dynamicattitudes including at least accelerations or angular accelerations ofeach joint at the end points of the motion unit; setting provisionalmoving attitudes which are inserted between the provisional basicdynamic attitudes placed at the end points in the motion unit; andperforming stabilization process for the motion pattern of the motionunit having the provisional basic dynamic attitudes.

[0032] The method for generating the motion unit according to the secondaspect of the present invention may further include the step ofconverting the motion unit including the basic dynamic attitudes into abasic static attitude unit including at least three basic staticattitudes. In such a case, the concept of the present invention may alsobe applied to robots which do not accept basic dynamic attitudesincluding the positions or angles, the speeds or angular speeds, and theaccelerations or angular accelerations of each joint, that is, robotswhich are driven on the basis of position data only.

[0033] In addition, the step of performing stabilization process for themotion pattern of the motion unit may include:

[0034] (a) a sub-step for setting a leg motion, a trunk motion, anupper-limb motion, and attitude and height of a hip which are used forgenerating the motion unit;

[0035] (b) a sub-step for setting a ZMP trajectory on the basis of theleg motion set at sub-step (a); and

[0036] (c) a sub-step for obtaining the solution of the hip motion withwhich the moment on the ZMP set at sub-step (b) is balanced.

[0037] Further objects, features and advantages of the present inventionwill become apparent from the following description of the preferredembodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0038]FIG. 1 is a front view of a legged mobile robot 100 according toan embodiment of the present invention;

[0039]FIG. 2 is a rear view of the legged mobile robot 100 according tothe embodiment of the present invention;

[0040]FIG. 3 is a schematic diagram illustrating the freedom of thejoint structure of the legged mobile robot 100 according to the presentembodiment;

[0041]FIG. 4 is a schematic diagram showing the structure of a controlsystem of the legged mobile robot 100 according to the presentembodiment;

[0042]FIG. 5 is a diagram showing an example of a motion unit structure;

[0043]FIG. 6 is a diagram showing an example of an action sequence inwhich a plurality of motion units are combined to generated walkingmotion of a predetermined distance;

[0044]FIG. 7 is a diagram showing another example of a motion unitstructure;

[0045]FIG. 8 is a schematic diagram showing the construction of a motionunit;

[0046]FIG. 9 is a schematic diagram showing a manner in which twocontinuous motion units are connected to each other;

[0047]FIG. 10 is a schematic diagram showing an example of a manner inwhich two discontinuous motion units are connected to each other;

[0048]FIG. 11 is a schematic diagram showing another example of a mannerin which two discontinuous motion units are connected to each other;

[0049]FIG. 12 is a flowchart showing a process for generating a motionunit;

[0050]FIG. 13 is a diagram showing a linear decoupling multi-mass-pointsapproximation model of the legged mobile robot 100 used for astabilization process;

[0051]FIG. 14 is an enlarged view of a part around a hip of themulti-mass-points model shown in FIG. 13;

[0052]FIGS. 15 and 16 are flowcharts showing an example of a process forgenerating hip, trunk, and lower limb motions for stable walking of thelegged mobile robot 100;

[0053]FIGS. 17 and 18 are flowcharts showing another example of aprocess for generating hip, trunk, and lower limb motions for stablewalking of the legged mobile robot 100;

[0054]FIG. 19 is a schematic diagram showing a manner in which twocontinuous motion units are connected in a system which accepts onlystatic attitudes;

[0055]FIG. 20 is a schematic diagram showing a manner in which twodiscontinuous motion units are connected in a system which accepts onlystatic attitudes;

[0056]FIGS. 21 and 22 are charts showing the displacements of the ZMP ofthe robot body in the X and Y directions in the case in which motionunits are connected by taking the continuity of the accelerations orangular accelerations of each joint into account;

[0057]FIGS. 23 and 24 are charts showing the displacements of the ZMP ofthe robot body in the X and Y directions in the case in which motionunits are connected by taking only the continuities of the positions orangles and the speeds or angular speeds of each joint into account; and

[0058]FIG. 25 is a chart showing the displacements of the ZMP in the Xdirection in which motion units are connected by taking theaccelerations or angular accelerations of each joint into account and ina case in which motion units are connected by taking only thecontinuities of the positions or angles and the speeds or angular speedsof each joint into account, where parts around a connecting point of themotion units are enlarged.

BEST MODE FOR CARRYING OUT THE INVENTION

[0059] An embodiment of the present invention will be described below indetail with reference to the accompanying drawings.

[0060]FIGS. 1 and 2 are a front view and a rear view, respectively, of a“human-shaped” or “humanoid” legged mobile robot 100 according to anembodiment of the present invention in an upright position. As shown inthe figures, the legged mobile robot 100 includes left and right lowerlimbs used for legged locomotions, a trunk, left and right upper limbs,a head, and a control unit.

[0061] Each of the left and right lower limbs includes a thigh, a kneejoint, a shank, an ankle, and a foot, and is connected to the trunk atthe bottom end of the trunk by a hip joint. In addition, each of theleft and right upper limbs includes an upper arm, an elbow joint, and aforearm. The left and right upper limbs are connected to the trunk atthe upper left end and the upper right end, respectively, of the trunkby shoulder joints. The head is connected to the trunk at the center ofthe top end of the trunk by a neck joint.

[0062] The control unit includes a housing containing a controller (amain control unit), which controls actuators for each joint forming thelegged mobile robot 100 and processes external input from sensors(described below), and peripheral devices such as a power supplycircuit. The control unit may also include a communication interface ora communication device for remote control. Although the control unit ismounted at the back of the legged mobile robot 100 in FIGS. 1 and 2, theposition where the control unit is placed is not limited.

[0063]FIG. 3 is a schematic diagram illustrating the freedom of thejoint structure of the legged mobile robot 100 according to the presentembodiment. As shown in the figure, the legged mobile robot 100 isconstructed of an upper body including two arms and a head 1, the twolower limbs used for legged locomotions, and the trunk which connectsthe upper limbs and the lower limbs.

[0064] The neck joint supporting the head 1 has three degrees of freedomcorresponding to a neck-joint yaw axis 2, a neck-joint pitch axis 3, anda neck-joint roll axis 4.

[0065] Each arm includes a shoulder-joint pitch axis 8, a shoulder-jointroll axis 9, an upper arm yaw axis 10, an elbow-joint pitch axis 11, aforearm yaw axis 12, a wrist-joint pitch axis 13, a wrist-joint rollaxis 14, and a hand 15. Each hand 15 includes a plurality of fingers andhas an articulated structure with multiple degrees of freedom. However,since the motion of each hand 15 does not affect the stable attitudecontrol and walking motion control of the robot 100, the number ofdegrees of freedom of each hand is assumed to be zero in the presentspecification. Accordingly, it is assumed that each of the left andright arms has seven degrees of freedom.

[0066] The trunk has three degrees of freedom corresponding to a trunkpitch axis 5, a trunk roll axis 6, and a trunk yaw axis 7.

[0067] Each of the left and right legs forming the lower limbs includesa hip-joint yaw axis 16, a hip-joint pitch axis 17, a hip-joint rollaxis 18, a knee-joint pitch axis 19, an ankle-joint pitch axis 20, ajoint roll axis 21, and a foot (or sole) 22. The points where thehip-joint pitch axes 17 and the hip-joint roll axes 18 intersect definethe positions of the hip joints in the legged mobile robot 100 accordingto the present embodiment. Although each foot (or sole) 22 of a humanbody has an articulated structure with multiple degrees of freedom, thenumber of degrees of freedom of each sole of the legged mobile robot 100is assumed to be zero. Accordingly, it is assumed that each of the leftand right legs has six degrees of freedom.

[0068] To sum up, the total number of degrees of freedom of the leggedmobile robot 100 according to the present embodiment is 3+7×2+3+6×2=32 .However, the number of degrees of freedom of the legged mobile robot 100is not necessarily limited to 32. The number of degrees of freedom mayof course be suitably increased or reduced in accordance withconstraints on design and with the manufacturing processes, requiredspecifications, etc.

[0069] The above-described freedom of the legged mobile robot 100 isprovided by actuators. In order to satisfy the requirements for reducingexcessive swellings in the legged mobile robot 100 and for making itsappearance as similar to the natural form of human beings as possibleand the requirements for performing attitude control of the robot havingthe biped walking structure, which is naturally unstable, small, lightactuators are preferably used. In the present embodiment, small AC servoactuators which are directly connected to gears and which includes amotor unit in which a servo control system formed in a single chip isinstalled are used in the legged mobile robot 100. A small AC servoactuator of this type is disclosed in, for example, Japanese UnexaminedPatent Application Publication No. 2000-299970 (Japanese PatentApplication No. 11-33386), which has been assigned to the applicant ofthe present invention.

[0070]FIG. 4 is a schematic diagram showing the structure of a controlsystem of the legged mobile robot 100 according to the presentembodiment. As shown in the figure, the legged mobile robot 100 includesmechanism units 30, 40, 50R/L, and 60R/L corresponds to four limbs of ahuman body, and a control unit 80 which performs adaptive control forthe coordinated motions between each mechanism unit (hereinafter, R andL attached at the end of reference numerals represent right and left,respectively).

[0071] The overall motion of the legged mobile robot 100 is controlledby the control unit 80. The control unit 80 includes a main control unit81 containing main circuit components (not shown) such as a centralprocessing unit (CPU) chip, a memory chip, etc., and a peripheralcircuit 82 containing a power supply, an interface for transmitting dataand commands between each component of the legged mobile robot 100, anexternal memory device, etc. (all of which are not shown).

[0072] In the present embodiment, the legged mobile robot 100 includes abattery (not shown in FIG. 4) as the power supply, so that the leggedmobile robot 100 can move autonomously. When the legged mobile robot 100is constructed as an autonomous robot by using a battery, its movingarea is not physically limited by, for example, the length of a powersupply cable, the position of a commercial power outlet, etc., and thelegged mobile robot 100 is able to walk freely. In addition, the risk inthat the robot body will be obstructed by a power supply cable whilewalking or performing other motions using upper limbs can be eliminated,and the legged mobile robot 100 can easily move around a largeworkspace.

[0073] The freedom of each joint of the legged mobile robot 100 shown inFIG. 3 is provided by actuators corresponding to each joint. Morespecifically, the head unit 30 includes a neck-joint yaw actuator A₂, aneck-joint pitch actuator A₃, and a neck-joint roll actuator A₄corresponding to the neck-joint yaw axis 2, the neck-joint pitch axis 3,and the neck-joint roll axis 4, respectively.

[0074] In addition, the trunk unit 40 includes a trunk pitch actuatorA₅, a trunk roll actuator A₆, and a trunk yaw actuator A₇ correspondingto the trunk pitch axis 5, the trunk roll axis 6, and the trunk yaw axis7, respectively.

[0075] The arm units 50R/L can be divided into upper arm units 51R/L,elbow joint units 52R/L, and forearm units 53R/L, and each of the armunits 50R/L includes a shoulder-joint pitch actuator A₈, ashoulder-joint roll actuator A₉, an upper arm yaw actuator A₁₀, anelbow-joint pitch actuator A₁₁, an elbow-joint roll actuator A₁₂, awrist-joint pitch actuator A₁₃, and a wrist-joint roll actuator A₁₄,corresponding to the shoulder-joint pitch axis 8, the shoulder-jointroll axis 9, the upper arm yaw axis 10, the elbow-joint pitch axis 11,the elbow-joint roll axis 12, the wrist-joint pitch axis 13, and thewrist-joint roll axis 14, respectively.

[0076] In addition, the leg units 60R/L can be divided into thigh units61R/L, knee units 62R/L, and shank units 63R/L, and each of the legunits 60R/L is includes a hip-joint yaw actuator A₁₆, a hip-joint pitchactuator A₁₇, a hip-joint roll actuator A₁₈, a knee-joint pitch actuatorA₁₉, an ankle-joint pitch actuator A₂₀, and an ankle-joint roll actuatorA₂₁ corresponding to the hip-joint yaw axis 16, the hip-joint pitch axis17, the hip-joint roll axis 18, the knee-joint pitch axis 19, theankle-joint pitch axis 20, and the ankle-joint roll axis 21,respectively.

[0077] The above-described joint actuators A₂, A₃, . . . , arepreferably the above-described small AC servo actuators which aredirectly connected to gears and which includes a motor unit in which aservo control system formed in a single chip is installed.

[0078] The head unit 30, the trunk unit 40, the arm units 50, and theleg units 60 are provided with sub-control units 35, 45, 55, and 65,respectively, for controlling the actuators. In addition, the leg units60R and 60L are provided with ground detection sensors 91 and 92 whichdetect whether or not the soles of the leg units 60R and 60L aretouching the ground, and the trunk unit 40 is provided with a attitudesensor 93.

[0079] The attitude sensor 93 is constructed of, for example, anacceleration sensor and a gyro sensor, and the ground detection sensors91 and 92 are constructed of, for example, proximity sensors or microswitches disposed on the soles.

[0080] The inclination and attitude of the trunk are determined by theattitude sensor 93, and whether the left and right legs are on or offthe ground while the legged mobile robot 100 walks or runs is determinedby the ground detection sensors 91 and 92.

[0081] The control unit 80 dynamically corrects the control values inresponse to the outputs from the sensors 91 to 93. More specifically,the control unit 80 suitably controls the sub-control units 35, 45, 55,and 65, so that the motions of the upper limbs, the trunk, and the lowerlimbs of the legged mobile robot 100 are coordinated.

[0082] The main control unit 81 generates an action plan in accordancewith external factors such as a command from the user, the internalstate determined by an emotion model, an instinct model, a learningmodel, etc., and makes the robot perform a desired action. The motionunits registered in a database of the external memory device, which islocally connected to the main control unit 81, are sequentially read outand an action sequence is generated by connecting one or more motionunits. The action sequence is played back on the robot body, therebymaking the robot 100 perform the desired action. Although the externalmemory device is mounted in, for example, the peripheral circuit 82, itis not shown in FIG. 4 in order to make the figure simple.

[0083] The legged mobile robot 100 according to the present embodimentmoves mainly on its legs. In biped walking robots, the center of gravityof their bodies is placed at a relatively high position and movesgreatly during legged locomotion, so that attitude control and stablewalking control are extremely important. The main control unit 81performs attitude control and stable walking control by using a zeromoment point (ZMP) as a stability determination standard. Morespecifically, the main control unit 81 sets a leg motion, a ZMPtrajectory, a trunk motion, an upper limb motion, a vertical position ofthe hip, etc., and sends commands corresponding to the settings to thesub-control units 35, 45, 55, and 65.

[0084] “ZMP” is a point on the ground at which the moment caused by theground reaction force during walking is zero, and “ZMP trajectory” is alocus along which the ZMP moves while the robot 100 walks. The conceptof the ZMP and the application of the ZMP as the stability determinationstandard of a walking robot are described in “Legged Locomotion Robots”written by Miomir Vukobratovic (“Walking Robots and Artificial Legs”written by Ichiro Kato et al., published by The Nikkan Kogyo Shinbun,Ltd.).

[0085] The sub-control units 35, 45, . . . , decode the commandstransmitted from the main control unit 81 and transmit drive controlsignals to the corresponding joint actuators A2, A3, . . .

[0086] A sequence of motions having a certain meaning performed by thelegged mobile robot 100 is called a “behavior” or an action sequence.Action sequences are constructed by combining one or more motion units,which indicate the time-sequential motion of each joint actuatorinstalled in the robot body. More specifically, motion units, whichindicate the time-sequential motion of each joint, are stored in apredetermined memory device (which is mounted in, for example, theperipheral circuit 82), and when a predetermined action sequence isperformed, motion units corresponding to that action are sequentiallyread from the memory device, are connected to each other, and are playedback on the robot body.

[0087]FIG. 5 shows an example of a motion unit structure. The exampleshown in FIG. 5 includes a forward-motion start unit, a constant forwardwalking unit, a forward-motion stop unit, a rearward-motion start unit,a constant rearward walking unit, a rearward-motion stop unit, leftward(and rightward) motion start units, constant leftward (and rightward)walking units, and leftward (and rightward) motion stop units.

[0088] Motion units shown in FIG. 5 are used for moving the leggedmobile robot 100 forward, rearward, leftward, and rightward.

[0089] The forward-motion start unit indicates a motion pattern from astationary attitude to a dynamic two-leg support attitude I, and storeswalking cycle data and step data. The constant forward walking unitindicates a motion pattern from the dynamic two-leg support attitude Ito the dynamic two-leg support attitude I, and stores walking cycle dataand step data. The forward-motion stop unit indicates a motion patternfrom the dynamic two-leg support attitude I to the stationary attitude,and stores walking cycle data and step data.

[0090] The rearward-motion start unit indicates a motion pattern from astationary attitude to a dynamic two-leg support attitude II, and storeswalking cycle data and step data. The constant rearward walking unitindicates a motion pattern from the dynamic two-leg support attitude IIto the dynamic two-leg support attitude II, and stores walking cycledata and step data. The rearward-motion stop unit indicates a motionpattern from the dynamic two-leg support attitude II to the stationaryattitude, and stores walking cycle data and step data.

[0091] The leftward-motion start unit indicates a motion pattern from astationary attitude to a dynamic two-leg support attitude III, andstores walking cycle data and step data. The constant leftward walkingunit indicates a motion pattern from the dynamic two-leg supportattitude III to the dynamic two-leg support attitude III, and storeswalking cycle data and step data. The leftward-motion stop unitindicates a motion pattern from the dynamic two-leg support attitude IIIto the stationary attitude, and stores walking cycle data and step data.

[0092] The rightward-motion start unit indicates a motion pattern from astationary attitude to a dynamic two-leg support attitude IV, and storeswalking cycle data and step data. The constant rightward walking unitindicates a motion pattern from the dynamic two-leg support attitude IVto the dynamic two-leg support attitude IV, and stores walking cycledata and step data. The rightward-motion stop unit indicates a motionpattern from the dynamic two-leg support attitude IV to the stationaryattitude, and stores walking cycle data and step data.

[0093] By combining several basic motion units, more complex motionpatterns can be generated. For example, by combining three kinds ofmotion units, i.e., the forward-motion start unit, the constant forwardwalking unit for N times of forward walking motions, and theforward-motion stop unit, it is possible to generate an action sequencein which the robot walks a predetermined distance as shown in FIG. 6.

[0094]FIG. 7 shows another example of a motion unit structure. Theexample shown in FIG. 7 includes a constant forward left-turning unit, aconstant forward right-turning unit, a constant rearward left-turningunit, and a constant rearward right-turning unit. By combining theconstant turning units with the above-described forward-motion startunit, forward-motion stop unit, rearward-motion start unit, andrearward-motion stop unit, action sequences in which the legged mobilerobot 100 turns left or right while walking can be generated.

[0095] In addition, a fine-adjustment forward walking unit, afine-adjustment rearward walking unit, a fine-adjustment leftwardwalking unit, and a fine-adjustment rightward walking unit may also beprovided in order to perform fine adjustment of each type of motion suchas forward, leftward, rightward, rearward, and turning motions. Inaddition, for a relatively fast forward motion, an accelerating forwardwalking unit may be provided between the forward-motion starting unitand the constant forward walking unit and a decelerating forward walkingunit may be provided between the constant forward walking unit and theforward-motion stopping unit.

[0096]FIG. 8 is a schematic diagram showing the construction of a motionunit used in the legged mobile robot 100 according to the presentembodiment. A single motion unit includes basic dynamic attitudes at theend points corresponding to the start and the end of the motion and oneor more moving attitudes which connects the basic dynamic attitudes atthe end points.

[0097] The basic dynamic attitudes include positions (that is, rotationangles), speeds or angular speeds, and accelerations or angularaccelerations of each joint.

[0098] The moving attitudes may be static moving attitudes whichindicate a stationary state of the robot body (that is, the movingattitudes may include only position data). Alternatively, the movingattitudes may be dynamic moving attitudes which indicate a dynamic stateof the robot body. More specifically, the moving attitudes may storeonly the position data of each joint, or additionally store speed dataand acceleration data thereof.

[0099] Since each motion unit includes acceleration components at theend points thereof, whether or not two motion units can be connected isdetermined by taking into account the continuity of the accelerations inaddition to the continuity of the positions of each joint. Accordingly,even when motion units for fast motion, in which acceleration componentscannot be ignored, are connected, the continuity of the accelerationscan be ensured, so that the acceleration components do not serve asdisturbances. In addition, connecting points between the motion unitsare not limited.

[0100] Motions in which the acceleration components cannot be ignoredinclude a motion causing a state in which the ground reaction force isnot applied to the robot body such as running motion or transitionalmotion before starting to run, a motion causing a state in whichaccelerated motion overpowers the acceleration of gravity and neitherone of two feet is in contact with the ground, etc.

[0101] Next, processes to connect two motion units will be describedbelow.

[0102] In the case in which a motion unit A is connected to a motionunit B, when the continuity of the basic dynamic attitude at the end ofthe motion unit A and the basic dynamic attitude at the start of themotion unit B is ensured, they can be directly connected as shown inFIG. 9.

[0103] When the continuity of the basic dynamic attitude at the end ofthe motion unit A and the basic dynamic attitude at the start of themotion unit B cannot be ensured, as shown in FIG. 10, a basic dynamicattitude A-B, which serves to compensate for the gap between the end ofthe motion unit A and the start of the motion unit B, can be insertedbetween the motion units A and B. Although not shown in the figure, twoor more motion units may also be inserted in order to compensate for thegap between the motion units.

[0104] Alternatively, as shown in FIG. 11, a new motion unit C of whichone end corresponds to the basic dynamic attitude at the end of themotion unit A and the other end to the basic dynamic attitude at thestart of the motion unit B can be generated, and the motion unit C canbe inserted between the motion units A and B in order to compensate forthe gap therebetween.

[0105] Next, a method for generating a motion unit will be describedbelow with reference to a flowchart shown in FIG. 12.

[0106] First, provisional basic dynamic attitudes, which serve as theend points of the motion unit, and a stability condition are set (stepS1). More specifically, positions or angles, speeds or angular speeds,and accelerations or angular accelerations of each joint are setprovisionally. In setting the stability condition, a ZMP trajectory isused as a stability determination standard.

[0107] Next, provisional moving attitudes inserted between the basicdynamic attitudes placed at both ends of the motion unit are set (stepS2). More specifically, positions or angles, speeds or angular speeds,and accelerations or angular accelerations of each joint are setprovisionally, or positions of each joint is set provisionally.

[0108] Next, a stabilization process for the motion pattern of themotion unit having the provisional basic dynamic attitudes is performed.More specifically, hip, trunk, and lower limb motions, etc., of thelegged mobile robot 100 are corrected, so that a motion unit havingbasic dynamic attitudes which include positions (or angles), speeds (orangular speeds), and accelerations (or angular accelerations) of eachjoint can be obtained (step S3).

[0109] The stabilization process for the motion pattern will bedescribed below in detail. When the system accepts only static attitudes(that is, only position data and angle data), the motion unit includingthe basic dynamic attitudes is converted into a basic static attitudeunit including at least three basic static attitudes as a substitute.

[0110] Next, the stabilization process performed at step S3 in FIG. 12,that is, a correction process for the hip, trunk, and lower limbmotions, etc., of the robot 100 will be described below.

[0111] Although the legged mobile robot 100 according to the presentembodiment is a collection of infinite number of continuous particles,it is expressed by an approximate model including finite number ofdiscrete particles, so that the amount of calculation in thestabilization process can be reduced. More specifically, the leggedmobile robot 100 having an articulated structure with the freedom shownin FIG. 3 is expressed by a multi-mass-points approximate model shown inFIG. 13. The approximate model shown in FIG. 13 is a linear decouplingmulti-mass-points approximation model.

[0112] In FIG. 13, the O-XYZ coordinate system shows roll, pitch, andyaw axes in the absolute coordinate system and the O′-X′Y′Z′ coordinatesystem shows roll, pitch, and yaw axes in a moving coordinate systemwhich moves together with the legged mobile robot 100. In FIG. 13, ‘i’attached to reference characters show that the corresponding particle isthe i^(th) particle in the multi-mass-points model. In addition, m_(i)shows the mass of the i^(th) particle, and r′_(i) shows a positionvector of the i^(th) particle in the moving coordinate system. Inaddition, m_(h) shows the mass of a hip particle, which is important ina hip motion control, which will be described below, r′_(h) (r′_(hx),r′_(hy), r′_(hz)) is a position vector of the hip particle, and r′_(zmp)is a position vector of the ZMP.

[0113] The multi-mass-points model expresses the robot in the form of awire frame model. As is understood from FIG. 13, the multi-mass-pointsapproximate model includes particles corresponding to the right and leftshoulders, the right and left elbows, the right and left wrists, thetrunk, the hip, and the right and left ankles. In the non-fidelity,multi-mass-points approximate model shown in FIG. 13, moment equationsare described in the form of linear equations. In this linear equation,the pitch axis and the roll axis are irrespective. The multi-mass-pointsapproximate model can be generated by the following processes:

[0114] (1) Mass distribution of the overall body of the legged mobilerobot 100 is determined,

[0115] (2) Particles are set either manually by the designer orautomatically under predetermined rules,

[0116] (3) The center of gravity of each region is determined and theposition of the center of gravity and mass m_(i) is assigned to thecorresponding particle,

[0117] (4) Each particle is expressed by a sphere whose center is at thedetermined position r_(i) and whose radius is proportional to thedetermined mass m_(i), and

[0118] (5) Spheres corresponding to portions which are linked inactuality are connected with each other.

[0119] The rotational angles (θ_(hx), θ_(hy), θ_(hz)) of hip informationin the multi-mass-points model shown in FIG. 13 represent the attitudeof the hip of the legged mobile robot 100, that is, rotations around theroll, pitch, and yaw axes (see FIG. 14, which shows an enlarged view ofa region around the hip in the multi-mass-points model).

[0120] Next, the stabilization process of the legged mobile robot 100according to the present embodiment, that is, the correction process forthe hip, trunk, and lower limb motions, etc., will be described below.

[0121]FIGS. 15 and 16 are flowcharts showing an example of a process forgenerating hip, trunk, and lower limb motions for stable walking of thelegged mobile robot 100. In the following descriptions, the position andmotion of each joint of the legged mobile robot 100 are expressed byusing the linear decoupling multi-mass-points approximation model shownin FIG. 13. In addition, following parameters are used for calculations:

[0122] m_(h): mass of hip particle,

[0123] {overscore (r)}′_(h)(r′_(hx),r′_(hy),r′_(hz)): position vector ofhip particle,

[0124] m_(i): mass of i^(th) particle,

[0125] {right arrow over (r)}′_(i): position vector of i^(th) particle,

[0126] {right arrow over (r)}′_(zmp): position vector of ZMP,

[0127] {right arrow over (g)}_(h)(g_(x), g_(y), g_(z)): gravityacceleration vector,

[0128] O′-X′Y′Z′: moving coordinate system (coordinate system whichmoves together with the robot), and

[0129] O-XYZ: absolute coordinate system,

[0130] where the dash (′) attached to the parameters indicates themoving coordinate system.

[0131] In addition, it is assumed that the vertical position of the hipof the robot 100 is constant (r′_(hZ)+r_(qz)=const), and the hipparticle is zero.

[0132] First, leg motion (more specifically, sole motion), ZMPtrajectory derived from the leg motion, trunk motion, upper-limb motion,hip motion, and attitude and vertical position of the hip, that is,patterns which actually determine the motion of each part are set (stepS11). More specifically, a leg motion pattern, a ZMP trajectory, a trunkmotion pattern, and an upper limb motion pattern are set in that order.With respect to the hip motion, the motion in the Z′ direction is setwhile the motions in the X′ and Y′ directions are unknown.

[0133] Next, the moments on the ZMP around the pitch axis and the rollaxis caused by the leg, trunk, and upper limb motions (M_(x), M_(y)) arecalculated by using the linear decoupling multi-mass-pointsapproximation model (step S12).

[0134] Next, the moments on the ZMP caused by the motion of the hipalong the horizontal plane (r′_(hx), r′_(hy)) is calculated by using thelinear decoupling multi-mass-points approximation model (step S13).

[0135] Next, balance equations regarding moments on set ZMP in themoving coordinate system O′-X′Y′Z′, which moves together with the robot,is derived (step S14). More specifically, the moments around the pitchaxis and the roll axis caused by the leg, trunk, and upper limb motions(M_(x), M_(y)) are put in the right side of equations as knownvariables, and terms relating to the hip motion along the horizontalplane (r′_(hx), r′_(hy)) are put at the left side of the equations asunknown variables. Accordingly, linear decoupling ZMP equations arederived as follows:

+m _(h) H({umlaut over (r)}′ _(hx) +{umlaut over (r)} _(qx) +g _(x))−m_(h) g _(z)(r′ _(hx) − _(r′) _(zmp) _(x) )=−M _(y)(t)

−m _(h) H({umlaut over (r)}′ _(hy) +{umlaut over (r)} _(qy) +g _(y))−m_(h) g _(z)(r′ _(hy) −r′ _(zmp) _(y) )=−M _(x)(t)  (1)

[0136] where

[0137] {umlaut over (r)}′_(hz)=0, and

[0138] r′_(hz)+r_(qz)=const (temporally constant).

[0139] Next, the trajectory of the hip along the horizontal plane iscalculated by solving ZMP equations (1) (step S15). For example, theabsolute position of the hip in the horizontal plane (r′_(hx), r′_(hy))is determined by solving ZMP equation (1) by using a known numericalanalysis method such as the Euler method and the Runge-Kutta method. Adesired position of the ZMP is normally set to the sole which is incontact with the ground.

[0140] When preset trunk and upper limb motions cannot be generated bythe calculated approximate solution, the trunk and upper limb motionpatterns are corrected and reset (step S17). At this time, trajectorysof knees may also be calculated.

[0141] Next, moments on the ZMP around the roll axis and the pitch axisin an exact model (eM_(x), eM_(y)) are calculated by assigning the wholebody motion pattern obtained as described above (step S18). The exactmodel is a precise model of the legged mobile robot 100 expressed by arigid body or a system including extremely large number of particles.Although it is assumed that [Equation 3] is satisfied in theabove-described non-fidelity model, such assumption is not required inthe exact model (that is, it is not necessary to be temporallyconstant).

[0142] The moments in the exact model (eM_(x), eM_(y)) correspond toerrors in the moments which generate around the roll axis and the pitchaxis during the hip motion. In the subsequent step, that is, step S19,it is determined whether or not the moments around each axis (eM_(x),eM_(y)) are less than allowable values of approximate moments in the innon-fidelity model (εM_(x), εM_(y)). When the moments in the exact model(eM_(x), eM_(y)) are less the allowable values (εM_(x), εM_(y)), itmeans that the exact solutions of stable motion patterns of the hip, thetrunk, and the lower limbs and the whole body motion pattern for stablewalking are obtained (step S20). Accordingly, the process routine ends.

[0143] Conversely, when the moments in the exact model (eM_(x), eM_(y))are larger than the allowable values (εM_(x), εM_(y)) the known momentsin the approximate model (M_(x), M_(y)) are corrected by using themoments in the exact model (eM_(x), eM_(y)) (step S21), and ZMPequations are derived again. Then, the above-described calculation ofthe approximate solutions of the hip, trunk, and lower limb motionpatterns and corrections thereof are repeated until the moments in theexact model (eM_(x), eM_(y)) are reduced below the allowable value ε.

[0144]FIGS. 17 and 18 flowcharts showing another example of a processfor generating hip, trunk, and lower limb motions for stable walking ofthe legged mobile robot 100. As explained in the foregoing descriptions,the position and motion of each joint of the robot 100 are expressed byusing the linear decoupling multi-mass-points approximation model shownin FIG. 13.

[0145] First, leg motion (more specifically, sole motion), ZMPtrajectory derived from the leg motion, trunk motion, upper-limb motion,hip motion, and attitude and vertical position of the hip, that is,patterns which actually determine the motion of each part are set (stepS31). More specifically, a leg motion pattern, a ZMP trajectory, a trunkmotion pattern, and an upper limb motion pattern are set in that order.With respect to the hip motion, the motion in the Z′ direction is setwhile the motions in the X′ and Y′ directions are unknown.

[0146] Next, the moments on the ZMP around the pitch axis and the rollaxis caused by the motions of the leg, trunk, and upper limb motions(M_(x), M_(y)) are calculated by using the linear decouplingmulti-mass-points approximation model (step S32) (refer to the foregoingdescriptions and FIG. 13).

[0147] Next, Fourier series expansion of the motion of the hip along thehorizontal plane (r′_(hx), r′_(hy)) is performed (step S33). As is wellknown in the art, time-axis components can be converted into frequencycomponents by Fourier series expansion. More specifically, in thepresent case, the motion of the hip can be expressed as a periodicalmotion. In addition, since fast Fourier transform (FFT) can be applied,the calculation speed can be significantly increased.

[0148] Next, Fourier series expansion of the moments on the ZMP aroundthe pitch axis and the roll axis (M_(x), M_(y)) is performed (step S34).

[0149] Next, Fourier coefficients for the trajectory of the hip alongthe horizontal plane are calculated and inverse Fourier expansion isperformed (step S35). Accordingly, an approximate solution of the hipmotion can be obtained (step S36). The approximate solution obtained atstep S36 is an approximate solution of the absolute position of the hipin the horizontal plane (r′_(hx), r′_(hy)) which represents the hipmotion pattern for stable walking, that is, the absolute hip positionsuch that the ZMP is at a desired position. The desired position of theZMP is normally set to the sole which is in contact with the ground.

[0150] When preset trunk and upper limb motions cannot be generated bythe calculated approximate solution, the trunk and upper limb motionpatterns are corrected and reset (step S37). At this time, trajectorysof knees may also be calculated.

[0151] Next, moments on the ZMP in an exact model (eM_(x), eM_(y)) arecalculated by assigning the whole body motion pattern obtained asdescribed above (step S38). The exact model is a precise model of thelegged mobile robot 100 expressed by a rigid body or a system includingextremely large number of particles. Although it is assumed that[Equation 3] is satisfied in the above-described non-fidelity model,such assumption is not required in the exact model (that is, it is notnecessary to be temporally constant).

[0152] The moments in the exact model (eM_(x), eM_(y)) correspond toerrors in moment which generate during the hip motion. In the subsequentstep, that is, step S39, it is determined whether or not the moments(eM_(x), eM_(y)) are less than an allowable values in the approximatemodel (εM_(x), εM_(y)). When the moments in the exact model (eM_(x),eM_(y)) are less the allowable values (εM_(x), εM_(y)) , it means thatthe exact solutions of stable motion patterns of the hip, the trunk, andthe lower limbs and the whole body motion pattern for stable walking areobtained (step S40). Accordingly, the process routine ends.

[0153] Conversely, when the moments in the exact model (eM_(x), eM_(y))are larger than the allowable values in the approximate model (εM_(x),εM_(y)), the known moments in the non-fidelity model (M_(x), M_(y)) arecorrected by using the moments in the exact model (eM_(x), eM_(y)) (stepS41). Then, Fourier series expansion is performed again and theabove-described calculation of the approximate solutions of the hip,trunk, and lower limb motion patterns and corrections thereof arerepeated until the moments in the exact model (eM_(x), eM_(y)) arereduced below the allowable value ε.

[0154] As described above, when the system accepts only static attitudes(that is, only position data and angle data), the motion unit includingthe basic dynamic attitudes may be converted into a basic staticattitude unit including at least three basic static attitudes as asubstitute. The substitution process using basic static attitudes willbe described below.

[0155] For example, when a motion unit A and a motion unit B areconnected, a plurality of basic static attitudes is generated at the endpoints of the motion units which are to be connected to each other andat positions close to the end points. Then, the basic dynamic attitudesare substituted for the obtained basic static attitudes.

[0156]FIG. 19 is a schematic diagram showing a manner in which twocontinuous motion units are connected in a system which accepts onlystatic attitudes, and FIG. 20 is a schematic diagram showing a manner inwhich two discontinuous motion units are connected in a system whichaccepts only static attitudes. In the case in which two discontinuousmotion units are connected in a system which accepts only staticattitudes, a new motion unit including only basic static attitudes isgenerated, the new motion unit having end points which are included inthe motion unit A and the motion unit B.

[0157] The basic static attitudes can be generated by using polynomialinterpolation of fifth order or more and applying information regardingbasic dynamic attitudes of the motion units A and B at the end pointsthereof (that is, positions (or joint angles), speeds (or joint angularspeeds), and accelerations (or joint angular accelerations) of eachjoint) as boundary conditions.

[0158] The fifth order polynomial interpolation can be performed byusing the following equation:

p=a ₅ t ⁵ +a ₄ t ⁴ +a ₃ t ³ +a ₂ t ² +a ₁ t+a ₀

[0159] A pseudo-program code for obtaining basic static attitudes forwhich a basic dynamic attitude (an end point of motion unit A) aresubstituted by using the above-described equation will be describedbelow. //fifth order polynomial interpolation function unit A position:double y00 unit A speed: double dy00 unit A acceleration: double ddy00unit A time between basic dynamic attitudes: double tt basic dynamicattitude position: double ytt basic dynamic attitude speed: double dyttbasic dynamic attitude acceleration: double ddytt double func_a0(doubley00) { double a0; a0=y00; return a0; } double func_a1(double dy00) {double a1; a1=dy00; return a1; } double func_a2(double ddy00) { doublea2; a2=ddy00/2.0; return a2; } double func_a3(double tt, double ddy00,double ddytt, double dy00, double dytt, double y00, double ytt) { doublea3, t2; t2=tt*tt; a3=−(3.0*t2*ddy00−t2*ddytt+12.0*tt*dy00+8.0*tt*dytt+20.0*y00−20.0*ytt)/(2.0*t2*tt) return a3; } double func_a4(double tt,double ddy00, double ddytt, double dy00, double dytt, double y00, doubleytt) { double a4, t2; t2=tt*tta4=(3.0*t2*ddy00−2.0*t2*ddytt+16.0*tt*dy00+14.0*tt*dytt+30.0*y00−30.0*ytt)/(2.0*t2*t2); return a4; } double func_a5(double tt,double ddy00, double ddytt, double dy00, double dytt, double y00, doubleytt) { double a5, t2; t2=tt*tta5=−(6.0*(dy00+dytt)*tt+(ddy00−ddytt)*t2+12.0*y00−12.0*ytt)/(2.0*t2*t2*tt); return a5; } //. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /* EX.a0=func_a0(pxx); a1=func_a1(vxx); a2=func_a2(axx);a3=func_a3(t,ax00,axtt,vx00.vxtt,px00,pxtt);a4=func_a4(t,ax00,axtt,vx00,vxtt,px00,pxtt);a5=func_a5(t,ax00,axtt,vx00,vxtt,px00,pxtt);px=a0+a1*dd+a2*dd2+a3*dd3+a4*dd3*dd+a5*dd3*dd2; . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/

[0160] Each basic attitude may of course have an allowable value in arange such that stability of the robot is not affected. Accordingly, thebasic static attitude may also be simply generated by using a polynomialequation whose order is less than five or by using linear interpolation.

[0161] In the motion-control apparatus and the motion-control method forthe legged mobile robot according to the present invention, each motionunit includes acceleration components at the end points thereof.Accordingly, whether or not two motion units can be connected isdetermined by taking into account the continuity of the accelerations orangular accelerations of each joint in addition to the continuity of thepositions or angles and the speeds or angular speeds of each joint.

[0162] A comparison between a simulation result of a case in whichmotion units are connected by taking only the continuity of thepositions or angles and the speeds or angular speeds of each joint intoaccount and that of a case in which the accelerations or angularaccelerations of each joint is also into taken account as in the presentinvention will be described below.

[0163]FIGS. 21 and 22 show the displacements of the ZMP of the leggedmobile robot in the X and Y directions in the case in which the motionunits are connected by taking the continuity of the accelerations orangular accelerations of each joint into account.

[0164]FIGS. 23 and 24 show the displacements of the ZMP of the leggedmobile robot in the X and Y directions in the case in which motion unitsare connected by taking only the continuities of the positions or anglesand the speeds or angular speeds of each joint into account.

[0165] In each figure, the horizontal axis shows time, and the verticalaxis shows the displacement of the ZMP in the X or Y direction. In thehorizontal axis, the connecting point of the motion units lies around1.35. Especially when the displacements of the ZMP in the X directionare compared, it is understood that the motion units are more smoothlyconnected in the case in which the motion units are connected by takingthe accelerations or angular accelerations of each joint into account.

[0166]FIG. 25 shows the displacements of the ZMP in the X direction inwhich parts around the connecting point of the motion units areenlarged. The solid line shows the case in which the continuity of theaccelerations or angular accelerations of each joint is taken intoaccount and the dashed line shows the case in which only thecontinuities of the positions or angles and the speeds or angular speedsof each joint are taken into account. As shown in the figure, the motionunits are smoothly connected in the case in which the continuity of theaccelerations or angular accelerations of each joint is taken intoaccount and a spike component, where the position of the ZMP suddenlychanges, is generated and the motion units are not smoothly connected inthe case in which only the continuities of the positions or angles andthe speeds or angular speeds of each joint are taken into account.

[0167] The difference of whether or not the accelerations or angularaccelerations of each joint are taken into account when motion units areconnected significantly appears in the case in which the robot bodymoves fast, for example, when the robot runs or jumps. When the robotbody moves fast, the acceleration components cannot be ignored. However,if the motion units are connected without taking the accelerationcomponents into account, the acceleration components affect the robotbody as disturbances and stable motion may be degraded when the motionunits are connected. In addition, there is also a risk in thatconnecting points between motion units will be greatly limited due tothe effects of the acceleration components.

[0168] Appendix

[0169] Although the present invention has been described above in detailin conjunction with a particular embodiment, various amendments andmodifications can of course be made by those skilled in the art withinthe scope of the present invention.

[0170] The present invention is not limited to products called “robots”,and may be applied to any kinds of mechanical apparatuses which movesimilarly to human beings by making use of electric or magnetic actions.For example, the present invention may also be applied to toys, etc.,which belong to other industrial fields.

[0171] More specifically, the foregoing descriptions merely illustratethe present invention, and are not intended to limit the scope of thepresent invention. The substance of the present invention should bedetermined by claims stated at the top.

[0172] [Industrial Applicability]

[0173] According to the present invention, an excellent motion-controlapparatus and an excellent motion-control method for a legged mobilerobot which has an articulated structure and which performspredetermined action sequences by time-sequentially moving each jointcan be provided.

[0174] In addition, according to the present invention, an excellentmotion-control apparatus, an excellent motion-control method, and anexcellent method for generating a motion unit for a legged mobile robotwhich performs predetermined action sequences by using basic motionunits which include time-sequential motion of each joint and compoundmotion units in which basic motions are combined can be provided.

[0175] In addition, according to the present invention, an excellentmotion-control apparatus, an excellent motion-control method, and anexcellent method for generating a motion unit for a legged mobile robotwhich performs predetermined action sequences by connecting motion unitswithout degrading the stability of the robot body even during fastmotion in which acceleration components cannot be ignored can beprovided.

1. An apparatus for controlling a motion of a legged mobile robot havingan articulated structure with at least a plurality of movable legs,comprising: an action-sequence generating unit which generates an actionsequence by using motion units which store time-sequential motion ofeach joint; and a motion control unit which controls the motion of eachjoint in accordance with the action sequence generated; wherein eachmotion unit is constructed of basic dynamic attitudes and one or moremoving attitudes, the basic dynamic attitudes including at leastaccelerations or angular accelerations of each joint at the end pointsof the motion unit, the end points corresponding to the start and theend of the motion, and the moving attitudes connecting the basic dynamicattitudes placed at the end points.
 2. An apparatus for controlling amotion of a legged mobile robot according to claim 1, wherein, inconnecting two motion units, the action-sequence generating unit takesinto account at least the continuity of the accelerations or the angularaccelerations of each joint between the basic dynamic attitudes at theend points of the motion units which are to be connected.
 3. Anapparatus for controlling a motion of a legged mobile robot according toclaim 1, wherein, in connecting two motion units, the action-sequencegenerating unit takes into account at least the continuity of theaccelerations or the angular accelerations of each joint between the endpoints of the motion units which are to be connected, and, if the basicdynamic attitudes are not continuous, another basic dynamic attitude,which ensures the continuity, is inserted between the motion units. 4.An apparatus for controlling a motion of a legged mobile robot accordingto claim 1, wherein, in connecting two motion units, the action-sequencegenerating unit takes into account at least the continuity of theaccelerations or the angular accelerations of each joint between thebasic dynamic attitudes at the end points of the motion units which areto be connected, and, if the basic dynamic attitudes are not continuous,one or more moving attitudes, which ensure the continuity, are insertedbetween the motion units.
 5. An apparatus for controlling a motion of alegged mobile robot according to claim 1, wherein, in connecting twomotion units, the action-sequence generating unit takes into account atleast the continuity of the accelerations or the angular accelerationsof each joint between the basic dynamic attitudes at the end points ofthe motion units which are to be connected, and, if the basic dynamicattitudes are not continuous, another motion unit, which ensures thecontinuity, is inserted between the motion units.
 6. An apparatus forcontrolling a motion of a legged mobile robot according to claim 1,further comprising a attitude data converting unit which converts thebasic dynamic attitude into one or more static attitude data items,wherein the motion control unit controls the motion of each joint inaccordance with the static attitude data items.
 7. A method forcontrolling a motion of a legged mobile robot having an articulatedstructure with at least a plurality of movable legs, comprising: anaction-sequence generating step in which an action sequence is generatedby using motion units which store time-sequential motion of each joint;and a motion controlling step in which the motion of each joint iscontrolled in accordance with the action sequence generated; whereineach motion unit is constructed of basic dynamic attitudes and one ormore moving attitudes, the basic dynamic attitudes including at leastaccelerations or angular accelerations of each joint at the end pointsof the motion unit corresponding to the start and the end of the motion,and the moving attitudes connecting the basic dynamic attitudes placedat the end points.
 8. A method for controlling a motion of a leggedmobile robot according to claim 7, wherein, in the action-sequencegenerating step, at least the continuity of the accelerations or theangular accelerations of each joint between the basic dynamic attitudesat the end points of the motion units which are to be connected is takeninto account.
 9. A method for controlling a motion of a legged mobilerobot according to claim 7, wherein, in the action-sequence generatingstep, at least the continuity of the accelerations or the angularaccelerations of each joint between the basic dynamic attitudes at theend points of the motion units which are to be connected is taken intoaccount, and, if the basic dynamic attitudes are not continuous, anotherbasic dynamic attitude, which ensures the continuity, is insertedbetween the motion units.
 10. A method for controlling a motion of alegged mobile robot according to claim 7, wherein, in theaction-sequence generating step, at least the continuity of theaccelerations or the angular accelerations of each joint between thebasic dynamic attitudes at the end points of the motion units which areto be connected is taken into account, and, if the basic dynamicattitudes are not continuous, one or more moving attitudes, which ensurethe continuity, are inserted between the motion units.
 11. A method forcontrolling a motion of a legged mobile robot according to claim 7,wherein, in the action-sequence generating step, at least the continuityof the accelerations or the angular accelerations of each joint betweenthe basic dynamic attitudes at the end points of the motion units whichare to be connected is taken into account, and, if the basic dynamicattitudes are not continuous, another motion unit, which ensures thecontinuity, is inserted between the motion units.
 12. A method forcontrolling a motion of a legged mobile robot according to claim 7,further comprising a attitude data converting step in which the basicdynamic attitude is converted into one or more static attitude dataitems, wherein, in the motion controlling step, the motion of each jointis controlled in accordance with the static attitude data items.
 13. Amethod for generating a motion unit which stores time-sequential motionof each joint in a legged mobile robot having an articulated structurewith at least a plurality of movable legs, comprising the steps of:setting provisional basic dynamic attitudes and a provisionalstabilization condition, the provisional basic dynamic attitudesincluding at least accelerations or angular accelerations of each jointat the end points of the motion unit; setting provisional movingattitudes which are inserted between the provisional basic dynamicattitudes placed at the end points in the motion unit; and performingstabilization process for the motion pattern of the motion unit havingthe provisional basic dynamic attitudes.
 14. A method for generating amotion unit for a legged mobile robot according to claim 13, furthercomprising the step of converting the motion unit including the basicdynamic attitudes into a basic static attitude unit including at leastthree basic static attitudes.
 15. A method for generating a motion unitfor a legged mobile robot according to claim 13, wherein the step ofperforming stabilization process for the motion pattern of the motionunit comprises: (a) a sub-step for setting a leg motion, a trunk motion,an upper-limb motion, and attitude and height of a hip which are usedfor generating the motion unit; (b) a sub-step for setting a ZMPtrajectory on the basis of the leg motion set at sub-step (a); and (c) asub-step for obtaining the solution of the hip motion with which themoment on the ZMP set at sub-step (b) is balanced.